/*
 * Created by Jaren at 2022/01/29 16:53
 */
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';

import 'package:get/get.dart';
import 'package:inmotion_protocol/common/media_file_upload_manager.dart';
import 'package:inmotion_protocol/ezcan/lighteffect/light_effect_file_generator.dart';
import 'package:inmotion_protocol/inmotion_protocol.dart';
import 'package:inmotion_protocol/lorin/lighteffect/light_effect_file_generator.dart';
import 'package:inmotion_protocol/util/log.dart';
import 'package:inmotion_protocol_example/module/base/base.dart';
import 'package:path_provider/path_provider.dart';

class LightEffectPkgController extends BaseController {
  LightEffectPkgFileUploadManager? lightEffectFileUploadManager;

  RxString updateStatus = RxString("IDLE");

  String v12LightEffect =
      '{"format":"1","timeInterval":"200","relatedToSpeed":"20","frames":[{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"keyFrame":false,"frameCount":0,"keyFrameType":0,"colors":[-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]}]}';

  String v8LightEffect =
      '{"frames":[{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16744320,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16751488,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16744320,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-13481091,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16751488,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-10053377,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-10053377,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-13481091,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-13481091,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-10053377,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-10053377,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16751488,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-13481091,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16744320,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16751488,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-10053377,-16777216,-10053377,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16711681,-16711681,-16711681,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-10053377,-16777216,-10053377,-16777216,-16777216]},{"colors":[-16777216,-16777216,-11108137,-16777216,-11108137,-16777216,-16777216,-16777216,-16777216,-16733737,-16777216,-16733737,-16777216,-16777216,-16777216,-16777216,-16721961,-16777216,-16721961,-16777216,-16777216,-16777216,-16777216,-16721961,-16744320,-16721961,-16777216,-16777216,-16777216,-16777216,-16733737,-16777216,-16733737,-16777216,-16777216,-16777216,-16777216,-11108137,-16777216,-11108137,-16777216,-16777216]},{"colors":[-16777216,-16777216,-12162897,-16777216,-12162897,-16777216,-16777216,-16777216,-16777216,-16741713,-16777216,-16741713,-16777216,-16777216,-16777216,-16777216,-16732241,-16777216,-16732241,-16777216,-16777216,-16777216,-16777216,-16732241,-16777216,-16732241,-16777216,-16777216,-16777216,-16777216,-16741713,-16777216,-16741713,-16777216,-16777216,-16777216,-16777216,-12162897,-16777216,-12162897,-16777216,-16777216]},{"colors":[-16777216,-16777216,-13217657,-16777216,-13217657,-16777216,-16777216,-16777216,-16777216,-16749689,-16777216,-16749689,-16777216,-16777216,-16777216,-16777216,-16742521,-16777216,-16742521,-16777216,-16777216,-16777216,-16777216,-16742521,-16777216,-16742521,-16777216,-16777216,-16777216,-16777216,-16749689,-16777216,-16749689,-16777216,-16777216,-16777216,-16777216,-13217657,-16777216,-13217657,-16777216,-16777216]},{"colors":[-16777216,-16777216,-14272417,-16777216,-14272417,-16777216,-16777216,-16777216,-16777216,-16757665,-16777216,-16757665,-16777216,-16777216,-16777216,-16777216,-16752801,-16777216,-16752801,-16777216,-16777216,-16777216,-16777216,-16752801,-16777216,-16752801,-16777216,-16777216,-16777216,-16777216,-16757665,-16777216,-16757665,-16777216,-16777216,-16777216,-16777216,-14272417,-16777216,-14272417,-16777216,-16777216]},{"colors":[-16777216,-16777216,-13217657,-16777216,-13217657,-16777216,-16777216,-16777216,-16777216,-16749689,-16777216,-16749689,-16777216,-16777216,-16777216,-16777216,-16742521,-16777216,-16742521,-16777216,-16777216,-16777216,-16777216,-16742521,-16777216,-16742521,-16777216,-16777216,-16777216,-16777216,-16749689,-16777216,-16749689,-16777216,-16777216,-16777216,-16777216,-13217657,-16777216,-13217657,-16777216,-16777216]},{"colors":[-16777216,-16777216,-12162897,-16777216,-12162897,-16777216,-16777216,-16777216,-16777216,-16741713,-16777216,-16741713,-16777216,-16777216,-16777216,-16777216,-16732241,-16777216,-16732241,-16777216,-16777216,-16777216,-16777216,-16732241,-16777216,-16732241,-16777216,-16777216,-16777216,-16777216,-16741713,-16777216,-16741713,-16777216,-16777216,-16777216,-16777216,-12162897,-16777216,-12162897,-16777216,-16777216]},{"colors":[-16777216,-16777216,-11108137,-16777216,-11108137,-16777216,-16777216,-16777216,-16777216,-16733737,-16777216,-16733737,-16777216,-16777216,-16777216,-16777216,-16721961,-16777216,-16721961,-16777216,-16777216,-16777216,-16777216,-16721961,-16777216,-16721961,-16777216,-16777216,-16777216,-16777216,-16733737,-16777216,-16733737,-16777216,-16777216,-16777216,-16777216,-11108137,-16777216,-11108137,-16777216,-16777216]},{"colors":[-16777216,-16777216,-10053377,-16777216,-10053377,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-10053377,-16777216,-10053377,-16777216,-16777216]},{"colors":[-16777216,-16777216,-11108137,-16777216,-11108137,-16777216,-16777216,-16777216,-16777216,-16733737,-16777216,-16733737,-16777216,-16777216,-16777216,-16777216,-16721961,-16777216,-16721961,-16777216,-16777216,-16777216,-16777216,-16721961,-16777216,-16721961,-16777216,-16777216,-16777216,-16777216,-16733737,-16777216,-16733737,-16777216,-16777216,-16777216,-16777216,-11108137,-16777216,-11108137,-16777216,-16777216]},{"colors":[-16777216,-16777216,-12162897,-16777216,-12162897,-16777216,-16777216,-16777216,-16777216,-16741713,-16777216,-16741713,-16777216,-16777216,-16777216,-16777216,-16732241,-16777216,-16732241,-16777216,-16777216,-16777216,-16777216,-16732241,-16777216,-16732241,-16777216,-16777216,-16777216,-16777216,-16741713,-16777216,-16741713,-16777216,-16777216,-16777216,-16777216,-12162897,-16777216,-12162897,-16777216,-16777216]},{"colors":[-16777216,-16777216,-13217657,-16777216,-13217657,-16777216,-16777216,-16777216,-16777216,-16749689,-16777216,-16749689,-16777216,-16777216,-16777216,-16777216,-16742521,-16777216,-16742521,-16777216,-16777216,-16777216,-16777216,-16742521,-16777216,-16742521,-16777216,-16777216,-16777216,-16777216,-16749689,-16777216,-16749689,-16777216,-16777216,-16777216,-16777216,-13217657,-16777216,-13217657,-16777216,-16777216]},{"colors":[-16777216,-10053377,-14272417,-16777216,-14272417,-10053377,-16777216,-16777216,-16725761,-16757665,-16777216,-16757665,-16725761,-16777216,-16777216,-16711681,-16752801,-16777216,-16752801,-16711681,-16777216,-16777216,-16711681,-16752801,-16777216,-16752801,-16711681,-16777216,-16777216,-16725761,-16757665,-16777216,-16757665,-16725761,-16777216,-16777216,-10053377,-14272417,-16777216,-14272417,-10053377,-16777216]},{"colors":[-16777216,-11108137,-13217657,-16777216,-13217657,-11108137,-16777216,-16777216,-16733737,-16749689,-16777216,-16749689,-16733737,-16777216,-16777216,-16721961,-16742521,-16777216,-16742521,-16721961,-16777216,-16777216,-16721961,-16742521,-16777216,-16742521,-16721961,-16777216,-16777216,-16733737,-16749689,-16777216,-16749689,-16733737,-16777216,-16777216,-11108137,-13217657,-16777216,-13217657,-11108137,-16777216]},{"colors":[-16777216,-12162897,-12162897,-16777216,-12162897,-12162897,-16777216,-16777216,-16741713,-16741713,-16777216,-16741713,-16741713,-16777216,-16777216,-16732241,-16732241,-16777216,-16732241,-16732241,-16777216,-16777216,-16732241,-16732241,-16777216,-16732241,-16732241,-16777216,-16777216,-16741713,-16741713,-16777216,-16741713,-16741713,-16777216,-16777216,-12162897,-12162897,-16777216,-12162897,-12162897,-16777216]},{"colors":[-16777216,-13217657,-11108137,-16777216,-11108137,-13217657,-16777216,-16777216,-16749689,-16733737,-16777216,-16733737,-16749689,-16777216,-16777216,-16742521,-16721961,-16777216,-16721961,-16742521,-16777216,-16777216,-16742521,-16721961,-16777216,-16721961,-16742521,-16777216,-16777216,-16749689,-16733737,-16777216,-16733737,-16749689,-16777216,-16777216,-13217657,-11108137,-16777216,-11108137,-13217657,-16777216]},{"colors":[-16777216,-14272417,-10053377,-16777216,-10053377,-14272417,-16777216,-16777216,-16757665,-16725761,-16777216,-16725761,-16757665,-16777216,-16777216,-16752801,-16711681,-16777216,-16711681,-16752801,-16777216,-16777216,-16752801,-16711681,-16777216,-16711681,-16752801,-16777216,-16777216,-16757665,-16725761,-16777216,-16725761,-16757665,-16777216,-16777216,-14272417,-10053377,-16777216,-10053377,-14272417,-16777216]},{"colors":[-16777216,-13217657,-11108137,-16777216,-11108137,-13217657,-16777216,-16777216,-16749689,-16733737,-16777216,-16733737,-16749689,-16777216,-16777216,-16742521,-16721961,-16777216,-16721961,-16742521,-16777216,-16777216,-16742521,-16721961,-16777216,-16721961,-16742521,-16777216,-16777216,-16749689,-16733737,-16777216,-16733737,-16749689,-16777216,-16777216,-13217657,-11108137,-16777216,-11108137,-13217657,-16777216]},{"colors":[-16777216,-12162897,-12162897,-16777216,-12162897,-12162897,-16777216,-16777216,-16741713,-16741713,-16777216,-16741713,-16741713,-16777216,-16777216,-16732241,-16732241,-16777216,-16732241,-16732241,-16777216,-16777216,-16732241,-16732241,-16777216,-16732241,-16732241,-16777216,-16777216,-16741713,-16741713,-16777216,-16741713,-16741713,-16777216,-16777216,-12162897,-12162897,-16777216,-12162897,-12162897,-16777216]},{"colors":[-16777216,-11108137,-13217657,-16777216,-13217657,-11108137,-16777216,-16777216,-16733737,-16749689,-16777216,-16749689,-16733737,-16777216,-16777216,-16721961,-16742521,-16777216,-16742521,-16721961,-16777216,-16777216,-16721961,-16742521,-16777216,-16742521,-16721961,-16777216,-16777216,-16733737,-16749689,-16777216,-16749689,-16733737,-16777216,-16777216,-11108137,-13217657,-16777216,-13217657,-11108137,-16777216]},{"colors":[-16777216,-10053377,-14272417,-16777216,-14272417,-10053377,-16777216,-16777216,-16725761,-16757665,-16777216,-16757665,-16725761,-16777216,-16777216,-16711681,-16752801,-16777216,-16752801,-16711681,-16777216,-16777216,-16711681,-16752801,-16777216,-16752801,-16711681,-16777216,-16777216,-16725761,-16757665,-16777216,-16757665,-16725761,-16777216,-16777216,-10053377,-14272417,-16777216,-14272417,-10053377,-16777216]},{"colors":[-16777216,-11108137,-13217657,-16777216,-13217657,-11108137,-16777216,-16777216,-16733737,-16749689,-16777216,-16749689,-16733737,-16777216,-16777216,-16721961,-16742521,-16777216,-16742521,-16721961,-16777216,-16777216,-16721961,-16742521,-16777216,-16742521,-16721961,-16777216,-16777216,-16733737,-16749689,-16777216,-16749689,-16733737,-16777216,-16777216,-11108137,-13217657,-16777216,-13217657,-11108137,-16777216]},{"colors":[-16777216,-12162897,-12162897,-16777216,-12162897,-12162897,-16777216,-16777216,-16741713,-16741713,-16777216,-16741713,-16741713,-16777216,-16777216,-16732241,-16732241,-16777216,-16732241,-16732241,-16777216,-16777216,-16732241,-16732241,-16777216,-16732241,-16732241,-16777216,-16777216,-16741713,-16741713,-16777216,-16741713,-16741713,-16777216,-16777216,-12162897,-12162897,-16777216,-12162897,-12162897,-16777216]},{"colors":[-16777216,-13217657,-11108137,-16777216,-11108137,-13217657,-16777216,-16777216,-16749689,-16733737,-16777216,-16733737,-16749689,-16777216,-16777216,-16742521,-16721961,-16777216,-16721961,-16742521,-16777216,-16777216,-16742521,-16721961,-16777216,-16721961,-16742521,-16777216,-16777216,-16749689,-16733737,-16777216,-16733737,-16749689,-16777216,-16777216,-13217657,-11108137,-16777216,-11108137,-13217657,-16777216]},{"colors":[-10053377,-14272417,-10053377,-16777216,-10053377,-14272417,-10053377,-16725761,-16757665,-16725761,-16777216,-16725761,-16757665,-16725761,-16711681,-16752801,-16711681,-16777216,-16711681,-16752801,-16711681,-16711681,-16752801,-16711681,-16777216,-16711681,-16752801,-16711681,-16725761,-16757665,-16725761,-16777216,-16725761,-16757665,-16725761,-10053377,-14272417,-10053377,-16777216,-10053377,-14272417,-10053377]},{"colors":[-11108137,-13217657,-11108137,-16777216,-11108137,-13217657,-11108137,-16733737,-16749689,-16733737,-16777216,-16733737,-16749689,-16733737,-16721961,-16742521,-16721961,-16777216,-16721961,-16742521,-16721961,-16721961,-16742521,-16721961,-16777216,-16721961,-16742521,-16721961,-16733737,-16749689,-16733737,-16777216,-16733737,-16749689,-16733737,-11108137,-13217657,-11108137,-16777216,-11108137,-13217657,-11108137]},{"colors":[-12162897,-12162897,-12162897,-16777216,-12162897,-12162897,-12162897,-16741713,-16741713,-16741713,-16777216,-16741713,-16741713,-16741713,-16732241,-16732241,-16732241,-16777216,-16732241,-16732241,-16732241,-16732241,-16732241,-16732241,-16777216,-16732241,-16732241,-16732241,-16741713,-16741713,-16741713,-16777216,-16741713,-16741713,-16741713,-12162897,-12162897,-12162897,-16777216,-12162897,-12162897,-12162897]},{"colors":[-13217657,-11108137,-13217657,-16777216,-13217657,-11108137,-13217657,-16749689,-16733737,-16749689,-16777216,-16749689,-16733737,-16749689,-16742521,-16721961,-16742521,-16777216,-16742521,-16721961,-16742521,-16742521,-16721961,-16742521,-16777216,-16742521,-16721961,-16742521,-16749689,-16733737,-16749689,-16777216,-16749689,-16733737,-16749689,-13217657,-11108137,-13217657,-16777216,-13217657,-11108137,-13217657]},{"colors":[-14272417,-10053377,-14272417,-16777216,-14272417,-10053377,-14272417,-16757665,-16725761,-16757665,-16777216,-16757665,-16725761,-16757665,-16752801,-16711681,-16752801,-16777216,-16752801,-16711681,-16752801,-16752801,-16711681,-16752801,-16777216,-16752801,-16711681,-16752801,-16757665,-16725761,-16757665,-16777216,-16757665,-16725761,-16757665,-14272417,-10053377,-14272417,-16777216,-14272417,-10053377,-14272417]},{"colors":[-13217657,-11108137,-16777216,-16777216,-16777216,-11108137,-13217657,-16749689,-16733737,-16777216,-16777216,-16777216,-16733737,-16749689,-16742521,-16721961,-16777216,-16777216,-16777216,-16721961,-16742521,-16742521,-16721961,-16777216,-16777216,-16777216,-16721961,-16742521,-16749689,-16733737,-16777216,-16777216,-16777216,-16733737,-16749689,-13217657,-11108137,-16777216,-16777216,-16777216,-11108137,-13217657]},{"colors":[-12162897,-12162897,-16777216,-16777216,-16777216,-12162897,-12162897,-16741713,-16741713,-16777216,-16777216,-16777216,-16741713,-16741713,-16732241,-16732241,-16777216,-16777216,-16777216,-16732241,-16732241,-16732241,-16732241,-16777216,-16777216,-16777216,-16732241,-16732241,-16741713,-16741713,-16777216,-16777216,-16777216,-16741713,-16741713,-12162897,-12162897,-16777216,-16777216,-16777216,-12162897,-12162897]},{"colors":[-11108137,-13217657,-16777216,-16777216,-16777216,-13217657,-11108137,-16733737,-16749689,-16777216,-16777216,-16777216,-16749689,-16733737,-16721961,-16742521,-16777216,-16777216,-16777216,-16742521,-16721961,-16721961,-16742521,-16777216,-16777216,-16777216,-16742521,-16721961,-16733737,-16749689,-16777216,-16777216,-16777216,-16749689,-16733737,-11108137,-13217657,-16777216,-16777216,-16777216,-13217657,-11108137]},{"colors":[-10053377,-14337953,-16777216,-16777216,-16777216,-14337953,-10053377,-16725761,-16757665,-16777216,-16777216,-16777216,-16757665,-16725761,-16711681,-16752801,-16777216,-16777216,-16777216,-16752801,-16711681,-16711681,-16752801,-16777216,-16777216,-16777216,-16752801,-16711681,-16725761,-16757665,-16777216,-16777216,-16777216,-16757665,-16725761,-10053377,-14337953,-16777216,-16777216,-16777216,-14337953,-10053377]},{"colors":[-11108137,-13217657,-16777216,-16777216,-16777216,-13217657,-11108137,-16733737,-16749689,-16777216,-16777216,-16777216,-16749689,-16733737,-16721961,-16742521,-16777216,-16777216,-16777216,-16742521,-16721961,-16721961,-16742521,-16777216,-16777216,-16777216,-16742521,-16721961,-16733737,-16749689,-16777216,-16777216,-16777216,-16749689,-16733737,-11108137,-13217657,-16777216,-16777216,-16777216,-13217657,-11108137]},{"colors":[-12162897,-12162897,-16777216,-16777216,-16777216,-12162897,-12162897,-16741713,-16741713,-16777216,-16777216,-16777216,-16741713,-16741713,-16732241,-16732241,-16777216,-16777216,-16777216,-16732241,-16732241,-16732241,-16732241,-16777216,-16777216,-16777216,-16732241,-16732241,-16741713,-16741713,-16777216,-16777216,-16777216,-16741713,-16741713,-12162897,-12162897,-16777216,-16777216,-16777216,-12162897,-12162897]},{"colors":[-13217657,-11108137,-16777216,-16777216,-16777216,-11108137,-13217657,-16749689,-16733737,-16777216,-16777216,-16777216,-16733737,-16749689,-16742521,-16721961,-16777216,-16777216,-16777216,-16721961,-16742521,-16742521,-16721961,-16777216,-16777216,-16777216,-16721961,-16742521,-16749689,-16733737,-16777216,-16777216,-16777216,-16733737,-16749689,-13217657,-11108137,-16777216,-16777216,-16777216,-11108137,-13217657]},{"colors":[-14272417,-10053377,-10053377,-16777216,-10053377,-10053377,-14272417,-16757665,-16725761,-16725761,-16777216,-16725761,-16725761,-16757665,-16752801,-16711681,-16711681,-16777216,-16711681,-16711681,-16752801,-16752801,-16711681,-16711681,-16777216,-16711681,-16711681,-16752801,-16757665,-16725761,-16725761,-16777216,-16725761,-16725761,-16757665,-14272417,-10053377,-10053377,-16777216,-10053377,-10053377,-14272417]},{"colors":[-13217657,-11108137,-11108137,-16777216,-11108137,-11108137,-13217657,-16749689,-16733737,-16733737,-16777216,-16733737,-16733737,-16749689,-16742521,-16721961,-16721961,-16777216,-16721961,-16721961,-16742521,-16742521,-16721961,-16721961,-16777216,-16721961,-16721961,-16742521,-16749689,-16733737,-16733737,-16777216,-16733737,-16733737,-16749689,-13217657,-11108137,-11108137,-16777216,-11108137,-11108137,-13217657]},{"colors":[-12162897,-12162897,-12162897,-16777216,-12162897,-12162897,-12162897,-16741713,-16741713,-16741713,-16777216,-16741713,-16741713,-16741713,-16732241,-16732241,-16732241,-16777216,-16732241,-16732241,-16732241,-16732241,-16732241,-16732241,-16777216,-16732241,-16732241,-16732241,-16741713,-16741713,-16741713,-16777216,-16741713,-16741713,-16741713,-12162897,-12162897,-12162897,-16777216,-12162897,-12162897,-12162897]},{"colors":[-11108137,-13217657,-13217657,-16777216,-13217657,-13217657,-11108137,-16733737,-16749689,-16749689,-16777216,-16749689,-16749689,-16733737,-16721961,-16742521,-16742521,-16777216,-16742521,-16742521,-16721961,-16721961,-16742521,-16742521,-16777216,-16742521,-16742521,-16721961,-16733737,-16749689,-16749689,-16777216,-16749689,-16749689,-16733737,-11108137,-13217657,-13217657,-16777216,-13217657,-13217657,-11108137]},{"colors":[-10053377,-14272417,-14272417,-16777216,-14272417,-14272417,-10053377,-16725761,-16757665,-16757665,-16777216,-16757665,-16757665,-16725761,-16711681,-16752801,-16752801,-16777216,-16752801,-16752801,-16711681,-16711681,-16752801,-16752801,-16777216,-16752801,-16752801,-16711681,-16725761,-16757665,-16757665,-16777216,-16757665,-16757665,-16725761,-10053377,-14272417,-14272417,-16777216,-14272417,-14272417,-10053377]},{"colors":[-11108137,-16777216,-13217657,-16777216,-13217657,-16777216,-11108137,-16733737,-16777216,-16749689,-16777216,-16749689,-16777216,-16733737,-16721961,-16777216,-16742521,-16777216,-16742521,-16777216,-16721961,-16721961,-16777216,-16742521,-16777216,-16742521,-16777216,-16721961,-16733737,-16777216,-16749689,-16777216,-16749689,-16777216,-16733737,-11108137,-16777216,-13217657,-16777216,-13217657,-16777216,-11108137]},{"colors":[-12162897,-16777216,-12162897,-16777216,-12162897,-16777216,-12162897,-16741713,-16777216,-16741713,-16777216,-16741713,-16777216,-16741713,-16732241,-16777216,-16732241,-16777216,-16732241,-16777216,-16732241,-16732241,-16777216,-16732241,-16777216,-16732241,-16777216,-16732241,-16741713,-16777216,-16741713,-16777216,-16741713,-16777216,-16741713,-12162897,-16777216,-12162897,-16777216,-12162897,-16777216,-12162897]},{"colors":[-13217657,-16777216,-11108137,-16777216,-11108137,-16777216,-13217657,-16749689,-16777216,-16733737,-16777216,-16733737,-16777216,-16749689,-16742521,-16777216,-16721961,-16777216,-16721961,-16777216,-16742521,-16742521,-16777216,-16721961,-16777216,-16721961,-16777216,-16742521,-16749689,-16777216,-16733737,-16777216,-16733737,-16777216,-16749689,-13217657,-16777216,-11108137,-16777216,-11108137,-16777216,-13217657]},{"colors":[-14272417,-16777216,-10053377,-16777216,-10053377,-16777216,-14272417,-16757665,-16777216,-16725761,-16777216,-16725761,-16777216,-16757665,-16752801,-16777216,-16711681,-16777216,-16711681,-16777216,-16752801,-16752801,-16777216,-16711681,-16777216,-16711681,-16777216,-16752801,-16757665,-16777216,-16725761,-16777216,-16725761,-16777216,-16757665,-14272417,-16777216,-10053377,-16777216,-10053377,-16777216,-14272417]},{"colors":[-13217657,-16777216,-11108137,-16777216,-11108137,-16777216,-13217657,-16749689,-16777216,-16733737,-16777216,-16733737,-16777216,-16749689,-16742521,-16777216,-16721961,-16777216,-16721961,-16777216,-16742521,-16742521,-16777216,-16721961,-16777216,-16721961,-16777216,-16742521,-16749689,-16777216,-16733737,-16777216,-16733737,-16777216,-16749689,-13217657,-16777216,-11108137,-16777216,-11108137,-16777216,-13217657]},{"colors":[-12162897,-16777216,-12162897,-16777216,-12162897,-16777216,-12162897,-16741713,-16777216,-16741713,-16777216,-16741713,-16777216,-16741713,-16732241,-16777216,-16732241,-16777216,-16732241,-16777216,-16732241,-16732241,-16777216,-16732241,-16777216,-16732241,-16777216,-16732241,-16741713,-16777216,-16741713,-16777216,-16741713,-16777216,-16741713,-12162897,-16777216,-12162897,-16777216,-12162897,-16777216,-12162897]},{"colors":[-11108137,-16777216,-13217657,-16777216,-13217657,-16777216,-11108137,-16733737,-16777216,-16749689,-16777216,-16749689,-16777216,-16733737,-16721961,-16777216,-16742521,-16777216,-16742521,-16777216,-16721961,-16721961,-16777216,-16742521,-16777216,-16742521,-16777216,-16721961,-16733737,-16777216,-16749689,-16777216,-16749689,-16777216,-16733737,-11108137,-16777216,-13217657,-16777216,-13217657,-16777216,-11108137]},{"colors":[-10053377,-16777216,-14272417,-16777216,-14272417,-16777216,-10053377,-16725761,-16777216,-16757665,-16777216,-16757665,-16777216,-16725761,-16711681,-16777216,-16752801,-16777216,-16752801,-16777216,-16711681,-16711681,-16777216,-16752801,-16777216,-16752801,-16777216,-16711681,-16725761,-16777216,-16757665,-16777216,-16757665,-16777216,-16725761,-10053377,-16777216,-14272417,-16777216,-14272417,-16777216,-10053377]},{"colors":[-11108137,-16777216,-13217657,-16777216,-13217657,-16777216,-11108137,-16733737,-16777216,-16749689,-16777216,-16749689,-16777216,-16733737,-16721961,-16777216,-16742521,-16744320,-16742521,-16777216,-16721961,-16721961,-16777216,-16742521,-16777216,-16742521,-16777216,-16721961,-16733737,-16777216,-16749689,-16777216,-16749689,-16777216,-16733737,-11108137,-16777216,-13217657,-16777216,-13217657,-16777216,-11108137]},{"colors":[-12162897,-16777216,-12162897,-16777216,-12162897,-16777216,-12162897,-16741713,-16777216,-16741713,-16777216,-16741713,-16777216,-16741713,-16732241,-16777216,-16732241,-16711681,-16732241,-16777216,-16732241,-16732241,-16777216,-16732241,-16777216,-16732241,-16777216,-16732241,-16741713,-16777216,-16741713,-16777216,-16741713,-16777216,-16741713,-12162897,-16777216,-12162897,-16777216,-12162897,-16777216,-12162897]},{"colors":[-13217657,-16777216,-11108137,-16777216,-11108137,-16777216,-13217657,-16749689,-16777216,-16733737,-16777216,-16733737,-16777216,-16749689,-16742521,-16777216,-16721961,-16711681,-16721961,-16777216,-16742521,-16742521,-16777216,-16721961,-16777216,-16721961,-16777216,-16742521,-16749689,-16777216,-16733737,-16777216,-16733737,-16777216,-16749689,-13217657,-16777216,-11108137,-16777216,-11108137,-16777216,-13217657]},{"colors":[-14272417,-16777216,-10053377,-16777216,-10053377,-16777216,-14272417,-16757665,-16777216,-16725761,-16751488,-16725761,-16777216,-16757665,-16752801,-16777216,-16711681,-16744320,-16711681,-16777216,-16752801,-16752801,-16777216,-16711681,-16777216,-16711681,-16777216,-16752801,-16757665,-16777216,-16725761,-16777216,-16725761,-16777216,-16757665,-14272417,-16777216,-10053377,-16777216,-10053377,-16777216,-14272417]},{"colors":[-16777216,-16777216,-11108137,-16777216,-11108137,-16777216,-16777216,-16777216,-16777216,-16733737,-16725761,-16733737,-16777216,-16777216,-16777216,-16777216,-16721961,-16777216,-16721961,-16777216,-16777216,-16777216,-16777216,-16721961,-16777216,-16721961,-16777216,-16777216,-16777216,-16777216,-16733737,-16777216,-16733737,-16777216,-16777216,-16777216,-16777216,-11108137,-16777216,-11108137,-16777216,-16777216]},{"colors":[-16777216,-16777216,-12162897,-16777216,-12162897,-16777216,-16777216,-16777216,-16777216,-16741713,-16725761,-16741713,-16777216,-16777216,-16777216,-16777216,-16732241,-16777216,-16732241,-16777216,-16777216,-16777216,-16777216,-16732241,-16777216,-16732241,-16777216,-16777216,-16777216,-16777216,-16741713,-16777216,-16741713,-16777216,-16777216,-16777216,-16777216,-12162897,-16777216,-12162897,-16777216,-16777216]},{"colors":[-16777216,-16777216,-13217657,-13481088,-13217657,-16777216,-16777216,-16777216,-16777216,-16749689,-16751488,-16749689,-16777216,-16777216,-16777216,-16777216,-16742521,-16777216,-16742521,-16777216,-16777216,-16777216,-16777216,-16742521,-16777216,-16742521,-16777216,-16777216,-16777216,-16777216,-16749689,-16777216,-16749689,-16777216,-16777216,-16777216,-16777216,-13217657,-16777216,-13217657,-16777216,-16777216]},{"colors":[-16777216,-16777216,-14272417,-10053377,-14272417,-16777216,-16777216,-16777216,-16777216,-16757665,-16777216,-16757665,-16777216,-16777216,-16777216,-16777216,-16752801,-16777216,-16752801,-16777216,-16777216,-16777216,-16777216,-16752801,-16777216,-16752801,-16777216,-16777216,-16777216,-16777216,-16757665,-16777216,-16757665,-16777216,-16777216,-16777216,-16777216,-14272417,-16777216,-14272417,-16777216,-16777216]},{"colors":[-16777216,-16777216,-13217657,-10053377,-13217657,-16777216,-16777216,-16777216,-16777216,-16749689,-16777216,-16749689,-16777216,-16777216,-16777216,-16777216,-16742521,-16744320,-16742521,-16777216,-16777216,-16777216,-16777216,-16742521,-16777216,-16742521,-16777216,-16777216,-16777216,-16777216,-16749689,-16777216,-16749689,-16777216,-16777216,-16777216,-16777216,-13217657,-16777216,-13217657,-16777216,-16777216]},{"colors":[-16777216,-16777216,-12162897,-13481088,-12162897,-16777216,-16777216,-16777216,-16777216,-16741713,-16777216,-16741713,-16777216,-16777216,-16777216,-16777216,-16732241,-16711681,-16732241,-16777216,-16777216,-16777216,-16777216,-16732241,-16777216,-16732241,-16777216,-16777216,-16777216,-16777216,-16741713,-16777216,-16741713,-16777216,-16777216,-16777216,-16777216,-12162897,-13481088,-12162897,-16777216,-16777216]},{"colors":[-16777216,-16777216,-11108137,-16777216,-11108137,-16777216,-16777216,-16777216,-16777216,-16733737,-16777216,-16733737,-16777216,-16777216,-16777216,-16777216,-16721961,-16711681,-16721961,-16777216,-16777216,-16777216,-16777216,-16721961,-16777216,-16721961,-16777216,-16777216,-16777216,-16777216,-16733737,-16777216,-16733737,-16777216,-16777216,-16777216,-16777216,-11108137,-10053377,-11108137,-16777216,-16777216]},{"colors":[-16777216,-16777216,-10053377,-16777216,-10053377,-16777216,-16777216,-16777216,-16777216,-16725761,-16751488,-16725761,-16777216,-16777216,-16777216,-16777216,-16711681,-16744320,-16711681,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-10053377,-10053377,-10053377,-16777216,-16777216]},{"colors":[-16777216,-16777216,-11108137,-16777216,-11108137,-16777216,-16777216,-16777216,-16777216,-16733737,-16725761,-16733737,-16777216,-16777216,-16777216,-16777216,-16721961,-16777216,-16721961,-16777216,-16777216,-16777216,-16777216,-16721961,-16777216,-16721961,-16777216,-16777216,-16777216,-16777216,-16733737,-16751488,-16733737,-16777216,-16777216,-16777216,-16777216,-11108137,-13481088,-11108137,-16777216,-16777216]},{"colors":[-16777216,-16777216,-12162897,-16777216,-12162897,-16777216,-16777216,-16777216,-16777216,-16741713,-16725761,-16741713,-16777216,-16777216,-16777216,-16777216,-16732241,-16744320,-16732241,-16777216,-16777216,-16777216,-16777216,-16732241,-16777216,-16732241,-16777216,-16777216,-16777216,-16777216,-16741713,-16725761,-16741713,-16777216,-16777216,-16777216,-16777216,-12162897,-16777216,-12162897,-16777216,-16777216]},{"colors":[-16777216,-16777216,-13217657,-13481088,-13217657,-16777216,-16777216,-16777216,-16777216,-16749689,-16751488,-16749689,-16777216,-16777216,-16777216,-16777216,-16742521,-16711681,-16742521,-16777216,-16777216,-16777216,-16777216,-16742521,-16777216,-16742521,-16777216,-16777216,-16777216,-16777216,-16749689,-16725761,-16749689,-16777216,-16777216,-16777216,-16777216,-13217657,-16777216,-13217657,-16777216,-16777216]},{"colors":[-16777216,-16777216,-14272417,-10053377,-14272417,-16777216,-16777216,-16777216,-16777216,-16757665,-16777216,-16757665,-16777216,-16777216,-16777216,-16777216,-16752801,-16711681,-16752801,-16777216,-16777216,-16777216,-16777216,-16752801,-16744320,-16752801,-16777216,-16777216,-16777216,-16777216,-16757665,-16751488,-16757665,-16777216,-16777216,-16777216,-16777216,-14272417,-16777216,-14272417,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-10053377,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16751488,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16744320,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-13481088,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-13481088,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16744320,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-10053377,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-13481088,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16751488,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-10053377,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-10053377,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16751488,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-13481088,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-10053377,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-13481088,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-13481088,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16744320,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16751488,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-10053377,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-10053377,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16751488,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-13481088,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16744320,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16725761,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16744320,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16751488,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16711681,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]},{"colors":[-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16744320,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216,-16777216]}],"timeInterval":8.0}';

  int lightEffectId = 34;

  @override
  void init() {
    prepareV8LightEffect();
  }

  void prepareV12LightEffect() {
    InMotionProtocol protocol = Get.find(tag: 'protocol');

    var v12LightEffectJson = jsonDecode(v12LightEffect);

    lightEffectFileUploadManager = protocol.createLightEffectFileUploadManager();

    print("format: ${v12LightEffectJson['format']}, "
        "frame count: ${v12LightEffectJson['frames'].length}, "
        "time interval: ${v12LightEffectJson['timeInterval']}, "
        "related to speed: ${v12LightEffectJson['relatedToSpeed']}");

    int lightEffectId = 72533;
    List<int> colors = [];

    int frameCount = v12LightEffectJson['frames'].length;
    for (var frameIndex = 0; frameIndex < frameCount; frameIndex++) {
      List<dynamic> frameColors = v12LightEffectJson['frames'][frameIndex]['colors'];
      int frameColorCount = frameColors.length;
      for (var colorIndex = 0; colorIndex < frameColorCount; colorIndex++) {
        int color = frameColors[colorIndex];
        colors.add(color);
      }
    }

    Uint8ClampedList bytes = LorinLightEffectFileGenerator.generate(70, lightEffectId, int.parse(v12LightEffectJson['format']), v12LightEffectJson['frames'].length,
        int.parse(v12LightEffectJson['timeInterval']), int.parse(v12LightEffectJson['relatedToSpeed']), colors);

    getTemporaryDirectory().then((dir) {
      File file = File('${dir.path}/$lightEffectId.rgb');
      file.createSync(recursive: true);
      file.writeAsBytes(bytes).then((value) {
        lightEffectFileUploadManager!.config(lightEffectFileUploadManager!.createConfig(file, lightEffectId));
      }).onError((error, stackTrace) {
        stackTrace.printError();
        return Future.value();
      });
    });
  }

  void prepareV8LightEffect() {
    InMotionProtocol protocol = Get.find(tag: 'protocol');
    var v8LightEffectJson = jsonDecode(v8LightEffect);

    lightEffectFileUploadManager = protocol.createLightEffectFileUploadManager();

    print("frame count: ${v8LightEffectJson['frames'].length}, time interval: ${v8LightEffectJson['timeInterval']}");

    List<int> colors = [];

    int frameCount = v8LightEffectJson['frames'].length;
    for (var frameIndex = 0; frameIndex < frameCount; frameIndex++) {
      List<dynamic> frameColors = v8LightEffectJson['frames'][frameIndex]['colors'];
      int frameColorCount = frameColors.length;
      for (var colorIndex = 0; colorIndex < frameColorCount; colorIndex++) {
        int color = frameColors[colorIndex];
        colors.add(color);
      }
    }

    double timeInterval = v8LightEffectJson['timeInterval'];
    int relatedToSpeed = 1;

    try {
      Uint8ClampedList bytes = V8V10LightEffectFileGenerator.generate(lightEffectId, v8LightEffectJson['frames'].length, timeInterval.toInt() * 10, relatedToSpeed, colors);
      getTemporaryDirectory().then((dir) {
        File file = File('${dir.path}/$lightEffectId.rgb');
        file.createSync(recursive: true);
        file.writeAsBytes(bytes).then((value) {
          lightEffectFileUploadManager!.config(lightEffectFileUploadManager!.createConfig(file, lightEffectId));
        }).onError((error, stackTrace) {
          stackTrace.printError();
          return Future.value();
        });
      });
    } catch (error) {
      print(error);
    }
  }

  void startUpload() {
    lightEffectFileUploadManager!.start().listen((event) {
      LogUtils.d("UploadEvent, ${event.toString()}, desc: ${getUpdateStatusDesc(event)}");
      switch (event.type) {
        case UploadEvent.typeCanceled:
          updateStatus.value = "已取消";
          break;
        case UploadEvent.typeCheckStorageCapacity:
          updateStatus.value = "正在准备";
          break;
        case UploadEvent.typeFileOpened:
          updateStatus.value = "正在准备";
          break;
        case UploadEvent.typeFileTransferring:
          event as FileTransferringEvent;
          updateStatus.value =
              "文件传输中，progress: ${event.progress()}, total: ${event.total()}, aveSpeed: ${event.aveSpeed()}, rtSpeed: ${event.rtSpeed()}, remain seconds: ${event.remainSeconds()}, cost seconds: ${event.costSeconds()}";
          break;
        case UploadEvent.typeFileChecked:
          updateStatus.value = "正在校验文件";
          break;
        case UploadEvent.typeFileClosed:
          updateStatus.value = "已完成";
          Future.delayed(const Duration(seconds: 1), () {
            setLightEffectId(lightEffectId);
          });
          break;
      }
    }).onError((error) {
      updateStatus.value = "Caught unknown error, $error";
      LogUtils.d('Caught error in light effect upload page, $error');
    });
  }

  void cancelUpload() {
    lightEffectFileUploadManager!.cancel();
  }

  String getUpdateStatusDesc(UploadEvent event) {
    return event.toString();
  }

  void setLightEffectId(int id) {
    InMotionProtocol protocol = Get.find(tag: 'protocol');
    protocol.setLightEffectId(id).then((rsp) {
      print(rsp);
    }).onError((error, stackTrace) {
      print(error);
    });
  }
}

class InvalidDeviceStateException implements Exception {
  factory InvalidDeviceStateException([var message]) => InvalidDeviceStateException(message);
}
